Cómo obtener el número de columnas por tabla en una base de datos MySQL
Cuando trabajamos con bases de datos complejas, en algún momento nos preguntamos: Cómo obtener el número de columnas por tabla en una base de datos MySQL. Es fundamental conocer la estructura interna de nuestras tablas. Entre la información más importante se encuentra la cantidad de columnas que posee cada tabla, un dato clave para tareas de auditoría, documentación, optimización o migraciones.
Afortunadamente, MySQL nos permite consultar esta información fácilmente gracias al esquema especial information_schema.
Cómo obtener el número de columnas por tabla en una base de datos MySQL
En este artículo aprenderás cómo usar una consulta SQL para obtener el número total de columnas por tabla dentro de una base de datos específica.
¿Qué es information_schema?
information_schema es una base de datos virtual incluida en MySQL que contiene metadatos:
- nombres de tablas
- nombres de columnas
- tipos de datos
- restricciones
- índices
- y más
En otras palabras, es el «cerebro» que describe la estructura de tu base de datos.
Consulta SQL para obtener la cantidad de columnas por tabla
Si deseas saber cuántas columnas tiene cada tabla en una base de datos, puedes usar la siguiente consulta:
SELECT
table_name,
COUNT(column_name) AS cantidad_columnas
FROM
information_schema.columns
WHERE
table_schema = 'nombre_de_tu_base_de_datos'
GROUP BY
table_name
ORDER BY
table_name;¿Qué hace esta consulta?
- Filtra las columnas pertenecientes al esquema (base de datos) que especifiques.
- Agrupa los resultados por nombre de tabla.
- Cuenta cuántas columnas tiene cada una.
- Ordena el listado alfabéticamente para una lectura más cómoda.
Ejemplo práctico
Supongamos que tu base se llama tienda_online. Solo necesitas reemplazar:
WHERE
table_schema = 'tienda_online'y obtendrás una tabla como:

Esto te dará una visión clara y rápida de la estructura de tu base de datos.
¿Por qué es útil conocer cuántas columnas tiene cada tabla?
- Auditorías de bases de datos
Detecta tablas demasiado complejas o con columnas innecesarias. - Optimización del rendimiento
Tablas con demasiadas columnas pueden afectar la velocidad de consulta. - Migraciones más seguras
Útil cuando necesitas replicar o mover la estructura a otro servidor. - Documentación técnica
Perfecto para mantener al día los esquemas de tu proyecto.
Conclusión
Conocer la cantidad de columnas por tabla en una base de datos MySQL es una tarea sencilla gracias a la base information_schema.
La consulta mostrada te permitirá obtener una visión clara de la estructura de tu sistema, ayudándote a mantener tu base de datos organizada, optimizada y lista para crecer.
Uno de los ejemplos de uso seria por ejemplo comparar 2 bases de datos idénticas e identificar que tablas posee mas columnas para ver si han sido modificadas. Esto es muy importante para corroborar si hay cambios entre esas bases de datos.